<?php
require_once 'CMS/Util.php';
require_once 'CMS/Mvc/BaseController.php';
require_once 'CMS/Mvc/BaseUserController.php';
require_once 'CMS/UserCommon.php';
require_once 'CMS/User.php';
require_once 'CMS/Language.php'; //include thu vien language

//Người tạo : Nguyễn Thanh Hải - Team 2
//Người chỉnh sửa: Nguyễn Huỳnh Đại Thành - Team 3
//Module 	: Edit Lastest News Module
//Chức năng	: Quản lý việc Edit các thuộc tính cho  module Lastest News

class LastestNews_ClickchangeController extends BaseUserController{

	public function init(){
		parent::init();
		$this->_helper->layout->disableLayout();
		$user = new User();
		$user->init();
		$user->check_login();
	}
	
	//Chức năng show các thuộc tính hiện tại cho người dùng
	public function indexAction(){
	
			/*========== Start Load Language ==========*/
			$language = new Language(APPLICATION_PATH . '/widgets/lastestnews');
			if(isset($_SESSION['language']))
			{
				$language_id = $_SESSION['language'];
				$tbLanguage = new Language_Model_Language();
				$name = $tbLanguage->getNameLanguage($language_id);
				$language->load($name['name']);
			}
			else
				$language->load('Default');		
			/*========== End Load Language ==========*/
				
			/*========== Start Get Text ==============*/
			$this->view->textTitle 		= $language->get('text_title');
			$this->view->textOrder 		= $language->get('text_order');
			$this->view->textLimit	 	= $language->get('text_limit');
			$this->view->textSave 		= $language->get('text_save');
			$this->view->textError1 	= $language->get('error1');
			$this->view->textError2 	= $language->get('error2');
			$this->view->textError3 	= $language->get('error3');
			$this->view->textError4 	= $language->get('error4');
			$this->view->textError5 	= $language->get('error5');
			$this->view->textError6 	= $language->get('error6');
			$this->view->textError7 	= $language->get('error7');
			/*========== End Text ==============*/
	
		//Start ------- Khởi tạo Parameter
		if(isset($_GET["url"]))
		{
			$this->view->url = $_GET["url"];
		}
		$path = APPLICATION_PATH."/widgets/lastestnews/";
		$tbSidebarModule = new  LastestNews_Model_SidebarModule();
		//End ------- Khởi tạo Parameter
		
		//Start ------- Kiểm Tra file xml và truyền biến qua view
		$xmlconfig = new SimpleXMLElement($path."config.xml",null,true);//Read config.xml
		$user = new User();
			$user->init();
			$user->check_login();
			$hasmodify = $user->modifiy_widget($xmlconfig->name);
			if($hasmodify=="true")
	{
		if(isset($xmlconfig->name))
		{
			$module_LastNews = $tbSidebarModule->selectModuleByCode($xmlconfig->name);
			if(count($module_LastNews)>0)
			{
				$this->view->sort = $module_LastNews[0]["sort_order"];
				$this->view->name = $xmlconfig->name;
				$this->view->limit = $xmlconfig->limit;
				$titleXML = 'title'.$name['name'];
				if(isset($xmlconfig->$titleXML))
							{
										
								$this->view->title = "".$xmlconfig->$titleXML;
							}
							else if(isset($xmlconfig->titleDefault))
							{
								$this->view->title = "".$xmlconfig->titleDefault;
							}
							else 
							{
								$this->view->error = 1 ;
							}
			}
			else
					{
						$this->view->error = 1 ;
					}
			
		}
		else
		{
			$this->view->error = 1 ;
		}
	}
	else
			{
				$this->view->error = 2 ;
			}
		//End ------- Kiểm Tra file xml và truyền biến qua view
	}
	
	//Chức năng Edit lại các thuộc tính mà người dùng đã chọn
	public function editAction(){
		if(isset($_SESSION['language']))
		{
			$language_id = $_SESSION['language'];
			$tbLanguage = new Language_Model_Language();
			$name = $tbLanguage->getNameLanguage($language_id);
			
			if(isset($_GET["name"]))
			{
				$tbSidebarModule = new  LastestNews_Model_SidebarModule();
				$module_lastest  = $tbSidebarModule->selectModuleByCode($_GET["name"]);
				if(count($module_lastest)>0)
				{
					if(isset($_GET["title"])&&(strlen($_GET["title"])>=5))
					{
						if(isset($_GET["limit"])&&(is_numeric($_GET["limit"]))&&($_GET["limit"]>0))
						{
							if(isset($_GET["sort"])&&(is_numeric($_GET["sort"]))&&($_GET["sort"]>=0))
							{
								if($module_lastest[0]["sort_order"] == $_GET["sort"])
								{
									$modules = 0;
								}
								else 
								{
									$modules = $tbSidebarModule->selectModuleBySortOrder($_GET["sort"]);
								}
								if(($modules==0)||count($modules)<=0)
								{
									$tbSidebarModule->updateModule($_GET["name"],$_GET["sort"]);//Save Sort_Order in DB
									
									//Start ------- Save title and limit in xml file
									$path = APPLICATION_PATH."/widgets/lastestnews/";
									$xmlconfig = new SimpleXMLElement($path."config.xml",null,true);//Read config.xml
									$titleXML = 'title'.$name['name'];
									$xmlconfig->$titleXML = $_GET['title'];
									$xmlconfig->limit = $_GET['limit'];
									file_put_contents($path."config.xml", $xmlconfig->asXML());
									//End ------- Save title and limit in xml file
									
									$data = 1;	
									
								}
								else
								{
									$data = -5;
								}
							}
							else
							{
								$data = -4;
							}
						}
						else 
						{
							$data = -3;
						}
					}
					else 
					{
						$data = -2;
					}
				}
				else
				{
					$data = -1;
				}
			}
			else 
			{
				$data = -1;
			}
		}
		else
			$data=-1;
		$this->_helper->json($data); 
	}
}